package pms.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;

/**
 * Controller, der die geaenderten Daten oder ein neu angelegtes Objekt
 * von Abwesenheitsart speichert  
 * Falls Fehler auftreten, wird die view 'Fehler.jsp' angezeigt.
 */

public class SaveAbwesenheitsart extends AlleAbwesenheitsarten 
{
	protected ModelAndView handleRequestInternal(
			HttpServletRequest httpServletRequest,
			HttpServletResponse httpServletResponse) throws Exception 
			{
		httpServletRequest.setCharacterEncoding("UTF-8");
		try {
			int id = Integer.parseInt(httpServletRequest.getParameter("id"));
			String abwesenheitsart = httpServletRequest.getParameter("abwesenheitsart");
			String abwesenheitsfarbe = httpServletRequest.getParameter("abwesenheitsfarbe");
			if (id == 0) 
			{
				getAbwesenheitsartDao().create(abwesenheitsart, abwesenheitsfarbe);
			} 
			else 
			{
				getAbwesenheitsartDao().modify(id, abwesenheitsart, abwesenheitsfarbe);
			}
		} catch (Exception e) {
			e.printStackTrace();
			ModelAndView mv = new ModelAndView();
			mv.addObject("title", "Speichere Abwesenheitsart");
			mv.addObject("message", "Die Abwesenheitsart konnte nicht angelegt bzw. geändert werden." +
					" Bitte Eingaben neu...");
			mv.setViewName("Fehler"); 
			return mv;
		}
		return super.handleRequestInternal(httpServletRequest, httpServletResponse);
	}

}